/**
 * 定义菜单权限相关的数据类型
 */

/**
 * 通用的返回数据类型
 */
export interface ResponseData {
  code: number
  message: string
  ok: boolean
}

/**
 * 菜单权限的数据类型
 */
export interface PermissionData {
  id?: string | number
  createTime?: string
  updateTime?: string
  pid?: string | number
  name?: string
  code?: string | null
  toCode?: string | null
  type?: number
  status?: number | null
  level?: number | string
  select?: boolean
  children?: PermissionDataList
}

/**
 * 菜单权限列表的数据类型
 */
export type PermissionDataList = PermissionData[]

/**
 * 菜单权限列表返回的数据类型
 */
export interface PermissionListResponseData extends ResponseData {
  data: PermissionDataList
}

/**
 * 添加或修改菜单权限要携带的数据类型
 */
export interface MenuParamsData {
  id?: string | number
  pid?: string | number
  name?: string
  code?: string | null
  level?: number | string
}
